home *** CD-ROM | disk | FTP | other *** search
/ MacWorld Secrets (4th Edition) / Mac Secrets CD 4th Ed.toast / Apple Advanced Technologies / Apple Speech Technologies 1.5 / PlainTalk Developer Info / Speech Synthesis Manager SDK / Interfaces / Speech.a < prev    next >
Text File  |  1994-05-05  |  7KB  |  332 lines

  1. ;
  2. ;    File:        Speech.a
  3. ;
  4. ;    Contains:    xxx put contents here xxx
  5. ;
  6. ;    Written by:    xxx put writers here xxx
  7. ;
  8. ;    Copyright:    © 1993-1994 by Apple Computer, Inc., all rights reserved.
  9. ;
  10.  
  11.  
  12.  
  13.  
  14.     IF &TYPE('__INCLUDINGSPEECHEQU__') = 'UNDEFINED' THEN
  15. __INCLUDINGSPEECHEQU__    SET    1
  16.  
  17.  
  18.     INCLUDE 'FSEqu.a'    ; for FSSpec
  19.     INCLUDE 'Traps.a'    ; for SoundDispatch
  20.  
  21.  
  22.  
  23. gestaltSpeechAttr         EQU 'ttsc'    ; Gestalt Manager selector for Speech Attributes 
  24. gestaltSpeechMgrPresent     EQU 0    ; Gestalt bit which indicates that Speech Manager exists 
  25.  
  26.  
  27. kTextToSpeechSynthType        EQU 'ttsc'    ; Text-to-Speech Synthesizer component type     
  28. kTextToSpeechVoiceType        EQU 'ttvd'    ; Text-to-Speech Voice resource type             
  29. kTextToSpeechVoiceFileType    EQU 'ttvf'    ; Text-to-Speech Voice file type                 
  30. kTextToSpeechVoiceBundleType    EQU 'ttvb'    ; Text-to-Speech Voice Bundle file type        
  31.  
  32.                 ; Speech Manager error codes (Range from 240 - 259) 
  33. noSynthFound     EQU -240
  34. synthOpenFailed     EQU -241
  35. synthNotReady    EQU -242
  36. bufTooSmall     EQU -243
  37. voiceNotFound    EQU -244
  38. incompatibleVoice    EQU -245
  39. badDictFormat     EQU -246
  40.  
  41.         
  42.                 ; constants for SpeakBuffer and TextDone callback controlFlags bits 
  43. kNoEndingProsody     EQU 1
  44. kNoSpeechInterrupt     EQU 2
  45. kPreflightThenPause    EQU 4
  46.  
  47.  
  48.                 ; constants for StopSpeechAt and PauseSpeechAt 
  49. kImmediate        EQU 0
  50. kEndOfWord        EQU 1
  51. kEndOfSentence    EQU 2
  52.  
  53.  
  54. soStatus        EQU 'stat'        ; GetSpeechInfo & SetSpeechInfo selectors 
  55. soErrors        EQU 'erro'
  56. soInputMode        EQU 'inpt'
  57. soCharacterMode    EQU 'char'
  58. soNumberMode    EQU 'nmbr'
  59. soRate        EQU 'rate'
  60. soPitchBase        EQU 'pbas'
  61. soPitchMod        EQU 'pmod'
  62. soVolume        EQU 'volm'
  63. soSynthType        EQU 'vers'
  64. soRecentSync    EQU 'sync'
  65. soPhonemeSymbols    EQU 'phsy'
  66. soCurrentVoice    EQU 'cvox'
  67. soCommandDelimiter    EQU 'dlim'
  68. soReset        EQU 'rset'
  69. soCurrentA5        EQU 'myA5'
  70. soRefCon        EQU 'refc'
  71. soTextDoneCallBack    EQU 'tdcb'
  72. soSpeechDoneCallBack    EQU 'sdcb'
  73. soSyncCallBack    EQU 'sycb'
  74. soErrorCallBack    EQU 'ercb'
  75. soPhonemeCallBack    EQU 'phcb'
  76. soWordCallBack    EQU 'wdcb'
  77. soSynthExtension    EQU 'xtnd'
  78.  
  79.  
  80.  
  81. * Speaking Mode Constants 
  82.  
  83. modeText        EQU 'TEXT'        ; input mode constants                 
  84. modeTX        EQU 'TX'
  85. modePhonemes    EQU 'PHON'
  86. modePH        EQU 'PH'
  87. modeNormal        EQU 'NORM'        ; character mode and number mode constants 
  88. modeLiteral        EQU 'LTRL'
  89.  
  90.                 ; GetVoiceInfo selectors                 
  91. soVoiceDescription    EQU 'info'        ; gets basic voice info                 
  92. soVoiceFile        EQU 'fref'        ; gets voice file ref info             
  93.  
  94.  
  95. SpeechChannelRecord     RECORD 0
  96. data        DS.L 1
  97.         ENDR
  98.  
  99.  
  100. VoiceSpec    RECORD 0
  101. creator    DS.L 1            ; creator id of required synthesizer     
  102. id    DS.L 1            ; voice id on the specified synth         
  103.     ENDR
  104.  
  105.  
  106. kNeuter    EQU 0
  107. kMale    EQU 1
  108. kFemale     EQU 2            ; returned in gender field below         
  109.  
  110.  
  111. VoiceDescription    RECORD 0
  112. length        DS.L 1        ; size of structure - set by application     
  113. voice        DS   VoiceSpec    ; voice creator and id info                 
  114. version        DS.L 1        ; version code for voice                     
  115. name        DS.B 64        ; name of voice                             
  116. comment        DS.B 256        ; additional text info about voice         
  117. gender        DS.W 1        ; neuter, male, or female                    
  118. age        DS.W 1        ; approximate age in years                 
  119. script        DS.W 1        ; script code of text voice can process     
  120. language        DS.W 1        ; language code of voice output speech     
  121. region        DS.W 1        ; region code of voice output speech         
  122. reserved        DS.L 4        ; always zero - reserved for future use    
  123.         ENDR
  124.  
  125.  
  126.  
  127. VoiceFileInfo     RECORD 0
  128. fileSpec        DS   FSSpec        ; volume, dir, & name information for voice file 
  129. resID        DS.W 1        ; resource id of voice in the file 
  130.         ENDR
  131.  
  132. SpeechStatusInfo     RECORD 0
  133. outputBusy        DS.B 1        ; TRUE if audio is playing         
  134. outputPaused    DS.B 1        ; TRUE if channel is paused         
  135. inputBytesLeft    DS.L 1         ; bytes left to process             
  136. phonemeCode        DS.W 1        ; opcode for cur phoneme             
  137.         ENDR
  138.  
  139. SpeechErrorInfo     RECORD 0
  140. count        DS.W 1        ; # of errs since last check         
  141. oldest        DS.W 1        ; oldest unread error                 
  142. oldPos        DS.L 1        ; char position of oldest err         
  143. newest        DS.W 1        ; most recent error                 
  144. newPos        DS.L 1        ; char position of newest err         
  145.         ENDR
  146.  
  147. SpeechVersionInfo     RECORD 0
  148. synthType        DS.B 4        ; always ‘ttsc’                     
  149. synthSubType    DS.B 4        ; synth flavor                     
  150. synthManufacturer    DS.B 4        ; synth creator ID                 
  151. synthFlags        DS.L 1        ; synth feature flags                 
  152. synthVersion    DS.B 7        ; !!!! NEED TO DEFINE 'NumVersion' !!!!   synth version number             
  153.         ENDR
  154.  
  155. PhonemeInfo     RECORD 0
  156. opcode        DS.W 1        ; opcode for the phoneme             
  157. phStr        DS.B 16        ; corresponding char string         
  158. exampleStr        DS.B 32        ; word that shows use of phoneme     
  159. hiliteStart        DS.W 1        ; segment of example word that         
  160. hiliteEnd        DS.W 1        ; should be hilighted (ala TextEdit) 
  161.         ENDR
  162.  
  163. PhonemeDescriptor     RECORD 0
  164. phonemeCount    DS.W 1        ; # of elements         
  165. thePhonemes        DS   PhonemeInfo;     ; element list         
  166.         ENDR
  167.  
  168. SpeechXtndData     RECORD 0
  169. synthCreator    DS.B 4        ; synth creator id     
  170. synthData        DS.B 2        ; data TBD by synth     
  171.         ENDR
  172.  
  173. DelimiterInfo     RECORD 0
  174. startDelimiter    DS.B 2        ; defaults to “[[“     
  175. endDelimiter    DS.B 2        ; defaults to “]]“     
  176.         ENDR
  177.  
  178.     MACRO
  179.     _SpeechManagerVersion
  180.     MOVE.L #$0000000C,D0
  181.     _SoundDispatch
  182.     ENDM
  183.  
  184.     MACRO
  185.     _MakeVoiceSpec
  186.     MOVE.L #$0604000C,D0
  187.     _SoundDispatch
  188.     ENDM
  189.  
  190.     MACRO
  191.     _CountVoices
  192.     MOVE.L #$0108000C,D0
  193.     _SoundDispatch
  194.     ENDM
  195.  
  196.     MACRO
  197.     _GetIndVoice
  198.     MOVE.L #$030C000C,D0
  199.     _SoundDispatch
  200.     ENDM
  201.  
  202.     MACRO
  203.     _GetVoiceDescription
  204.     MOVE.L #$0610000C,D0
  205.     _SoundDispatch
  206.     ENDM
  207.  
  208.     MACRO
  209.     _GetVoiceInfo
  210.     MOVE.L #$0614000C,D0
  211.     _SoundDispatch
  212.     ENDM
  213.  
  214.     MACRO
  215.     _NewSpeechChannel
  216.     MOVE.L #$0418000C,D0
  217.     _SoundDispatch
  218.     ENDM
  219.  
  220.     MACRO
  221.     _DisposeSpeechChannel
  222.     MOVE.L #$021C000C,D0
  223.     _SoundDispatch
  224.     ENDM
  225.  
  226.     MACRO
  227.     _SpeakString
  228.     MOVE.L #$0220000C,D0
  229.     _SoundDispatch
  230.     ENDM
  231.  
  232.     MACRO
  233.     _SpeakText
  234.     MOVE.L #$0624000C,D0
  235.     _SoundDispatch
  236.     ENDM
  237.  
  238.     MACRO
  239.     _SpeakBuffer
  240.     MOVE.L #$0828000C,D0
  241.     _SoundDispatch
  242.     ENDM
  243.  
  244.     MACRO
  245.     _StopSpeech
  246.     MOVE.L #$022C000C,D0
  247.     _SoundDispatch
  248.     ENDM
  249.  
  250.     MACRO
  251.     _StopSpeechAt
  252.     MOVE.L #$0430000C,D0
  253.     _SoundDispatch
  254.     ENDM
  255.  
  256.     MACRO
  257.     _PauseSpeechAt
  258.     MOVE.L #$0434000C,D0
  259.     _SoundDispatch
  260.     ENDM
  261.  
  262.     MACRO
  263.     _ContinueSpeech
  264.     MOVE.L #$0238000C,D0
  265.     _SoundDispatch
  266.     ENDM
  267.  
  268.     MACRO
  269.     _SpeechBusy
  270.     MOVE.L #$003C000C,D0
  271.     _SoundDispatch
  272.     ENDM
  273.  
  274.     MACRO
  275.     _SpeechBusySystemWide
  276.     MOVE.L #$0040000C,D0
  277.     _SoundDispatch
  278.     ENDM
  279.  
  280.     MACRO
  281.     _SetSpeechRate
  282.     MOVE.L #$0444000C,D0
  283.     _SoundDispatch
  284.     ENDM
  285.  
  286.     MACRO
  287.     _GetSpeechRate
  288.     MOVE.L #$0448000C,D0
  289.     _SoundDispatch
  290.     ENDM
  291.  
  292.     MACRO
  293.     _SetSpeechPitch
  294.     MOVE.L #$044C000C,D0
  295.     _SoundDispatch
  296.     ENDM
  297.  
  298.     MACRO
  299.     _GetSpeechPitch
  300.     MOVE.L #$0450000C,D0
  301.     _SoundDispatch
  302.     ENDM
  303.  
  304.     MACRO
  305.     _SetSpeechInfo
  306.     MOVE.L #$0654000C,D0
  307.     _SoundDispatch
  308.     ENDM
  309.  
  310.     MACRO
  311.     _GetSpeechInfo
  312.     MOVE.L #$0658000C,D0
  313.     _SoundDispatch
  314.     ENDM
  315.  
  316.     MACRO
  317.     _TextToPhonemes
  318.     MOVE.L #$0A5C000C,D0
  319.     _SoundDispatch
  320.     ENDM
  321.  
  322.     MACRO
  323.     _UseDictionary
  324.     MOVE.L #$0460000C,D0
  325.     _SoundDispatch
  326.     ENDM
  327.  
  328.  
  329.     ENDIF    ; already included...
  330.  
  331.  
  332.